AT-NFC  2.1 (win)
AT-NFC kernel set
hal_nfc_config.h
Go to the documentation of this file.
1 #ifndef HAL_NFC_CONFIG_H
2 #define HAL_NFC_CONFIG_H
3 
4 /* ******************* HAL terminal nfc configuration API declaration ********************** */
8 /* ***************************************************************************************** */
9 
10 /* set struct alignment */
11 #include <emv_platform_set_align.h>
12 
13 /* ***************************************************************************************** */
20 /* ***************************************************************************************** */
21 
22 
23 /* *********************** Mask used in hal_cfg_get_nfc_ep_config ************************** */
28 #define KER_CFG_EP_MASK_STATUS_CHECK 0x0001
29 #define KER_CFG_EP_MASK_ZERO_AMOUNT 0x0002
30 #define KER_CFG_EP_MASK_ZERO_AMOUNT_OFFLINE 0x0004
31 #define KER_CFG_EP_MASK_RDR_CLESS_LIMIT 0x0008
32 #define KER_CFG_EP_MASK_RDR_CLESS_FLOOR_LIMIT 0x0010
33 #define KER_CFG_EP_MASK_RDR_CVM_REQ_LIMIT 0x0020
34 #define KER_CFG_EP_MASK_TTQ 0x0040
35 #define KER_CFG_EP_MASK_EXT_SEL_SUPPORT 0x0080
42 #define KER_CFG_EP_PRE_STATUS_CHECK_REQUESTED 0x0001
43 #define KER_CFG_EP_PRE_CLESS_APP_NOT_ALLOWED 0x0002
44 #define KER_CFG_EP_PRE_ZERO_AMOUNT 0x0004
45 #define KER_CFG_EP_PRE_RDR_CVM_REQ_LIMIT_EXCEEDED 0x0008
46 #define KER_CFG_EP_PRE_RDR_CLESS_FLOOR_LIMIT_EXCEEDED 0x0010
52 
57 {
83 
84 /* ****************************** hal_cfg_get_nfc_ep_config ******************************** */
100 
101 /* ************************** hal_cfg_get_nfc_default_kernel_id **************************** */
124 extern KER_BOOL hal_cfg_get_nfc_default_kernel_id(KER_CTX_PARAM const KER_BYTE* pAID, KER_INT16U usAIDLen, KER_BYTE* pbtKernelID, KER_BYTE* pbtKernelIDLen, KER_BYTE btMaxLen);
125 
126 /* *************************** hal_cfg_get_nfc_custom_kernel_id **************************** */
139 extern KER_BOOL hal_cfg_get_nfc_custom_kernel_id(KER_CTX_PARAM const KER_BYTE* p61, KER_INT16U us61Len, KER_BYTE* pbtKernelID, KER_BYTE* pbtKernelIDLen, KER_BYTE btMaxLen);
140 
141 /* ********** ID used in hal_cfg_get_config_by_id and hal_cfg_set_config_by_id ************* */
142 
143 /* ******************************* ENTRY POINT CONFIGURATION ******************************* */
150 #define KER_CFG_ID_NFC_EP_STATUS_CHECK 0x1001
151 
158 #define KER_CFG_ID_NFC_EP_ZERO_AMOUNT 0x1002
159 
166 #define KER_CFG_ID_NFC_EP_ZERO_AMOUNT_OFFLINE 0x1003
167 
174 #define KER_CFG_ID_NFC_EP_EXT_SEL_SUPPORT 0x1004
175 
181 #define KER_CFG_ID_NFC_EP_TTQ 0x1005
182 
188 #define KER_CFG_ID_NFC_EP_CLESS_TRAN_LIMIT 0x1006
189 
195 #define KER_CFG_ID_NFC_EP_CLESS_FLOOR_LIMIT 0x1007
196 
202 #define KER_CFG_ID_NFC_EP_CVM_REQUIRED_LIMIT 0x1008
203 
214 #define KER_CFG_ID_NFC_PREPROC_INDICATORS_MASK 0x1009
215 
216 
222 #define KER_CFG_ID_NFC_EP_COLLISION_RESOLUTION_TIMEOUT 0x1021
223 
230 #define KER_CFG_ID_NFC_EP_SPI 0x1031
231 
239 #define KER_CFG_ID_NFC_EP_CPCL_DATA_REQUEST 0x1032
241 #define KER_CFG_NFC_EP_CPCL_DATA_REQUEST_ENABLED 0x01
242 #define KER_CFG_NFC_EP_CPCL_DATA_REQUEST_FAILURE_FATAL 0x02
252 #define KER_CFG_ID_NFC_EP_KEEP_TRAN_AFTER_SELECT_NEXT 0x1033
253 
259 #define KER_CFG_ID_NFC_EP_CPCL_DATA 0x1034
260 
261 
262 /* ***************************** COMMON NFC KERNEL PARAMETERS ****************************** */
267 #define KER_CFG_ID_NFC_EMV_DATA_RECORD_TAG_LIST 0x1101
268 
273 #define KER_CFG_ID_NFC_EMV_DISCR_DATA_TAG_LIST 0x1102
274 
279 #define KER_CFG_ID_NFC_MS_DATA_RECORD_TAG_LIST 0x1103
280 
285 #define KER_CFG_ID_NFC_MS_DISCR_DATA_TAG_LIST 0x1104
286 
291 #define KER_CFG_ID_NFC_DATA_RECORD 0x1105
292 
297 #define KER_CFG_ID_NFC_DISCR_DATA 0x1106
298 
305 #define KER_CFG_ID_NFC_ENABLE_BIN_RANGE_ID_TRACE 0x1107
306 
312 #define KER_CFG_ID_NFC_BIN_RANGE_ID 0x1108
313 
322 #define KER_CFG_ID_NFC_ENABLE_DEDS 0x1111
323 
329 #define KER_CFG_ID_NFC_DATA_EXCHANGE_LIST 0x1112
330 
336 #define KER_CFG_ID_NFC_FIELD_OFF_TIMEOUT 0x1121
337 
344 #define KER_CFG_ID_NFC_APDU_TIMING_LATENCY 0x1122
345 
351 #define KER_CFG_ID_NFC_TRAN_CONTEXT_TAG_LIST 0x1131
352 
359 #define KER_CFG_ID_NFC_GPO_APDU_TIMEOUT 0x1141
360 
367 #define KER_CFG_ID_NFC_GAC_APDU_TIMEOUT 0x1142
368 
375 #define KER_CFG_ID_NFC_PT_APDU_TIMEOUT 0x1143
376 
383 #define KER_CFG_ID_NFC_PT_LIGHT_APDU_TIMEOUT 0x1144
384 
391 #define KER_CFG_ID_NFC_CT_APDU_TIMEOUT 0x1145
392 
399 #define KER_CFG_ID_NFC_CCC_APDU_TIMEOUT 0x1146
400 
407 #define KER_CFG_ID_NFC_ERRD_APDU_TIMEOUT 0x1147
408 
409 
410 /* ****************************** MASTERCARD KERNEL PARAMETERS ***************************** */
411 /*
412  * C-2 Option name: "Mag-stripe mode contactless transactions not supported" - DF811B Byte 1 bit 8
413  * C-2 Option name: "EMV mode contactless transactions not supported" - DF811B Byte 1 bit 7
414  * C-2 Option name: "On device cardholder verification supported" - DF811B Byte 1 bit 6
415  * C-2 Option name: "Relay resistance protocol supported" - DF811B Byte 1 bit 5
416  * C-2 Option name: "Read all records even when no CDA" - DF811B Byte 1 bit 3
417  */
418 
425 #define KER_CFG_ID_NFC_MC_FAILED_MS_CNTR 0x1201
426 
427 
428 /* ******************************** VISA KERNEL PARAMETERS ********************************* */
435 #define KER_CFG_ID_NFC_VISA_DISABLE_AUC_FOR_MANUAL_CASH 0x1301
436 
443 #define KER_CFG_ID_NFC_VISA_DISABLE_AUC_FOR_CASHBACK 0x1302
444 
451 #define KER_CFG_ID_NFC_VISA_FORCE_ONLINE_IF_APP_EXPIRED 0x1303
452 
453 
454 /* ******************************** AMEX KERNEL PARAMETERS ********************************* */
462 #define KER_CFG_ID_NFC_AMEX_MPOS 0x1401
463 
464 
465 /* ********************************* MIR KERNEL PARAMETERS ********************************* */
471 #define KER_CFG_ID_NFC_MIR_OUTCOME_UI_STATUS 0x1F01
472 
478 #define KER_CFG_ID_NFC_MIR_OUTCOME_CVM_STATUS 0x1F02
479 
486 #define KER_CFG_ID_NFC_MIR_CPLC_MAND_FOR_PROT_01 0x1F03
487 
494 #define KER_CFG_ID_NFC_MIR_CPLC_MAND_FOR_PROT_02 0x1F04
495 
496 
497 /* restore struct alignment */
499 
500 #endif /* HAL_NFC_CONFIG_H */
KER_INT8U KER_BOOL
Definition: emv_platform.h:67
uint8_t KER_BYTE
Definition: emv_platform.h:70
unsigned short KER_INT16U
Definition: emv_platform.h:61
#define KER_CTX_PARAM
Definition: emv_context.h:53
struct tag_HAL_CONFIG_NFC_COMB HAL_CONFIG_NFC_COMB
NFC combination configuration data.
Definition: hal_nfc_config.h:51
KER_BOOL hal_cfg_get_nfc_custom_kernel_id(KER_CTX_PARAM const KER_BYTE *p61, KER_INT16U us61Len, KER_BYTE *pbtKernelID, KER_BYTE *pbtKernelIDLen, KER_BYTE btMaxLen)
Provides custom mapping between Directory Entry and Requested Kernel ID.
KER_BOOL hal_cfg_get_nfc_default_kernel_id(KER_CTX_PARAM const KER_BYTE *pAID, KER_INT16U usAIDLen, KER_BYTE *pbtKernelID, KER_BYTE *pbtKernelIDLen, KER_BYTE btMaxLen)
Provides default AID - Kernel ID mapping.
KER_BOOL hal_cfg_get_nfc_ep_config(KER_CTX_PARAM KER_TLV *pTranData, HAL_CONFIG_NFC_COMB **ppCombList)
Provides configuration (common / combination / tran related for EP.
NFC combination configuration data.
Definition: hal_nfc_config.h:57
KER_BYTE btKernelIDLen
Definition: hal_nfc_config.h:65
KER_BYTE ar_btLimitClessTran[4]
Definition: hal_nfc_config.h:74
KER_INT16U usSize
Definition: hal_nfc_config.h:58
KER_BYTE ar_btTTQ[4]
Definition: hal_nfc_config.h:72
KER_INT16U usConfDataPresentMask
Definition: hal_nfc_config.h:67
KER_BYTE btVer
Definition: hal_nfc_config.h:59
KER_BYTE btAIDLen
Definition: hal_nfc_config.h:62
KER_TLV * pConfigData
Definition: hal_nfc_config.h:78
KER_BYTE ar_btKernelID[8]
Definition: hal_nfc_config.h:64
KER_INT16U usPreprocIndicators
Definition: hal_nfc_config.h:70
KER_BYTE ar_btLimitClessFloor[4]
Definition: hal_nfc_config.h:75
KER_TLV * pTranData
Definition: hal_nfc_config.h:79
KER_INT16U usConfDataSetMask
Definition: hal_nfc_config.h:68
KER_BYTE ar_btAID[16]
Definition: hal_nfc_config.h:61
HAL_CONFIG_NFC_COMB * pNext
Definition: hal_nfc_config.h:81
KER_BYTE ar_btLimitCVMRequired[4]
Definition: hal_nfc_config.h:76
TLV container structure.
Definition: emv_data.h:63